There is conventionally known an ink-jet type printer that scans a print head having a plurality of nozzle arrays corresponding to a plurality of colors for ejecting ink droplets in the main scanning direction perpendicular to the nozzle array and, at the same time, ejects ink droplets from the nozzle array onto a paper sheet, thereby printing an image onto the paper sheet.
A printer of such a type can print an image corresponding to a band-like print area (band) that is a unit area for printing and has the same width as the nozzle width (length of the nozzle array) in a single main scan of the print head. To print an image onto an area wider than a single band (e.g., a sheet of paper), band-by-band image print operation is repeated while the position of a paper sheet is shifted in the sub-scanning direction.
Further, a printer of such a type performs bidirectional printing in which the print head is moved in both a first main scanning direction and a second main scanning direction, thereby increasing print speed as compared to one directional printing in which the print head is moved only in one main direction. However, an overlapping order of a plurality of colors of inks on a print medium is different between the printing in the first main scanning direction of the print head and the printing in the second main scanning direction thereof, so that color banding may occur due to difference in color development of a printed image. That is, there may be a case where images of the same color in image data are viewed as images of different colors in the printed image.
In order to cope with the above problem, there is known a print method that determines for each partial image data corresponding to the band whether there is any image in which the difference in color development is easily noticeable and determines the direction of the main scan. Specifically, in this print method, the number of dots (recording duty) in a predetermined size window is counted while the window is shifted in the partial image data. When there is detected any window in which the counted value is not less than a threshold value, print operation (one directional printing) in the same main scanning direction as the previous main scanning direction is performed. When there is detected no window in which the counted value is not less than a threshold value, print operation (bidirectional printing) in the opposite main scanning direction to the previous main scanning direction is performed.